clear all 
set more off 
set maxvar 15000 
clear matrix


**********************************************************************************************************************************************
**********************************************************************************************************************************************
**** IGE VS RANK OVER TIME -- VARYING AGE OF SAMPLE
**********************************************************************************************************************************************
**********************************************************************************************************************************************
    
	use "$Mydirectory1/3_Output/2_PooledData_analysis.dta", clear 
    keep if baseline_sample==1

    foreach var in ige rank {
    preserve
    estimates clear 
        
        forval i=1(1)4 {
            gen est_`i'=. 
            gen est_lb_`i' =.
            gen est_ub_`i' =.
        }
        
        foreach fix in 1 2 3   {

        * Dependent variables
            if "`var'"=="ige" local dep "log_son_baseline"
            if "`var'"=="rank" local dep "rank_son_baseline"
            
        * Independent variables
            if "`var'"=="ige" local indep "log_father_baseline"
            if "`var'"=="rank" local indep "rank_father_baseline"
                
            
        * Sample
            if "`fix'"=="1" local cond0 " "
            if "`fix'"=="2" local cond0 "& age<46"
            if "`fix'"=="3" local cond0 "& age<41"
            if "`fix'"=="4" local cond0 "& age>=35 & age<=45"
            
        levelsof decade, local(decades)
        
            foreach x of local decades {
            eststo :  reg `dep' `indep'  if decade==`x' `cond0' [pw=wgt_sex_race], robust 
                replace est_`fix' = _b[`indep'] if decade==`x'
                replace est_ub_`fix' = _b[`indep']+1.96*_se[`indep'] if decade==`x'
                replace est_lb_`fix' = _b[`indep']-1.96*_se[`indep'] if decade==`x'
            }

        }
        
    * Figures
        bysort decade: keep if _n==1
        keep decade est_*
        
        reshape long est_ est_lb_ est_ub_, i(decade) j(estimate)
        replace decade= decade+1 if estimate==2 
        replace decade= decade+2 if estimate==3
        replace decade= decade+3 if estimate==4
        
    if "`var'"=="ige" {
        local title "IGE"
        local ub "1"
        local lb "0"
        local skip "0.25"
        local maincolor "midblue"
        local color2 "navy"
        local color3 "green"
        local color4 "mint*1.2"
        local m "8"
    }

    if "`var'"=="rank" {
        local title "Rank"
        local ub "0.45"
        local lb "0.15"
        local skip "0.1"
        local maincolor "orange"
        local color2 "cranberry"
        local color3 "pink*0.75"
        local color4 "lavender"
        local m "8"
    }
        
    #delimit ;
    twoway (scatter est_ decade if estimate==1,  msymbol(circle) mcolor(`maincolor') msize(medium) ) 
           (rcap est_lb_  est_ub_  decade if estimate==1, lpatter(solid) lcolor(`maincolor') lwidth(0.5))
            (scatter est_ decade if estimate==2,  msymbol(diamond) mcolor(`color2') msize(small) ) 
           (rcap est_lb_  est_ub_  decade if estimate==2, lpatter(solid) lcolor(`color2') lwidth(0.5) )
            (scatter est_ decade if estimate==3,  msymbol(triangle) mcolor(`color3') msize(small) ) 
           (rcap est_lb_  est_ub_  decade if estimate==3, lpatter(solid) lcolor(`color3') lwidth(0.5) )
           ,
    xti(" " "Decade of respondent's birth") xlabel(1910(10)1970) xscale(range(1905 1975))
    ylabel(`lb'(`skip')`ub', axis(1)) yti("`title' coefficient" " ", axis(1)) 
    legend(on ring(0) pos(`m') rows(4) order(1 "Baseline (ages 30-50)" 3 "Ages 30-45" 5 "Ages 30-40" ))
    xlabel(1910 "1910s" 1920 "1920s" 1930 "1930s" 1940 "1940s" 1950 "1950s" 1960 "1960s" 1970 "1970s", labsize(small) ) ;  
    #delimit cr
    graph export "$Mydirectory2/appendix_b/`title'_overtime_youngersample.pdf", as(pdf) replace
     
    restore

    }